import Vue from 'vue'

import 'normalize.css/normalize.css' // A modern alternative to CSS resets

import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
// import locale from 'element-ui/lib/locale/lang/en' // lang i18n

import '@/styles/index.scss' // global css

import App from './App'
import store from './store'
import router from './router'

// 注册全局组件
import '@/icons' // icon
// 执行路由守卫钩子函数
import '@/permission' // permission control

// 导入指令对象
import * as dicts from '@/directives/index.js'

// 导入自己写的插件
import myPluninComponent from '@/components/index.js'

// 导入全局混入对象
import MyMixin from '@/mixin'
// 注册安装全局混入对象
Vue.mixin(MyMixin)
// 导入全局echarts 插件
import Echarts from '@/utils/chart'

// 导入国际化插件
import i18n from './lang/index'

// Vue.use(ElementUI)
// set ElementUI lang to EN
// Vue.use(ElementUI, { locale })
// 如果想要中文版 element-ui，按如下方式声明
Vue.use(ElementUI, {
  i18n: (k, v) => i18n.t(k, v)
})
Vue.use(myPluninComponent)
Vue.use(Echarts)
Vue.config.productionTip = false
// console.log('环境变量', process.env)

// 批量注册没款中指令
Object.keys(dicts).forEach(key => {
  Vue.directive(key, dicts[key])
})

// // 处理图片加载失败
// Vue.directive('imgerr', dicts.imgerr)

// // 回顾全局指令的用法
// Vue.directive('fb', dicts.fb)

new Vue({
  el: '#app',
  router, // 所有组件可以通过 this.$router(跳转) | this.$route(获取路由参数)
  store, // 所有组件可以通过 this.$store
  i18n, // 所有组件都可以调用 this.$t方法
  render: h => h(App)
})
